import { NodeStatus } from "../NodeStatus";



/**
 * 节点接口
 */
export interface INode<T> {
    /**名称 */
    name: string;
    /**父节点 */
    parent: INode<T> | null;
    /**黑板 */
    blackboard: T;
    /**状态 */
    status: NodeStatus;
    /**初始化 */
    Init(data: any): void;
    /**评估*/
    Evaluate(): NodeStatus;
    /**执行*/
    Tick(): NodeStatus | Promise<NodeStatus>;
    /**停止*/
    Halt(): void;
    /**销毁 */
    Destroy(): void;
}